100 REM  ***************** 
110 REM  * JUMPING  JACK * 
120 REM  ***************** 
130 REM  
140 REM   TI 99/4A BASIC 
150 DIFF=1
160 RESTORE
170 RANDOMIZE
180 CALL CLEAR
190 GOSUB 1120
200 PRINT "QUADRO:";DIFF
210 DIR=1
220 PR=0
230 FOR I=2 TO 22 STEP 4
240 CALL HCHAR(I,1,96,32)
250 IF I>20 THEN 310
260 R=INT(RND*26+4)+DIR
270 IF(SGN(R-PR)<>DIR)THEN 260
280 CALL VCHAR(I,R,104,4)
290 PR=R
300 DIR=-DIR
310 NEXT I
320 COL=2
330 ROW=1
340 CHAR=112
350 OLDCOL=1
360 OLDROW=1
370 OLDCHAR=32
380 DIR=1
390 CALL HCHAR(OLDROW,OLDCOL,32)
400 IF RND>DIFF/10 THEN 470
410 R=INT(4*RND)*4+6
420 C=INT(RND*20)+1
430 CALL GCHAR(R,C,A)
440 IF A=104 THEN 470
450 CALL HCHAR(R,C,120)
460 CALL SOUND(100,-1,4)
470 CALL HCHAR(ROW,COL,CHAR-2*(DIR<0))
480 CALL SOUND(-5,-7,4)
490 IF ROW>20 THEN 1030
500 OLDCOL=COL
510 OLDROW=ROW
520 COL=COL+DIR
530 IF(COL>0)*(COL<33)THEN 580
540 COL=COL-DIR
550 ROW=ROW+4
560 DIR=-DIR
570 GOTO 390
580 CALL GCHAR(ROW+1,COL,CHEK)
590 CALL KEY(0,K,ST)
600 IF ST THEN 680
610 IF CHEK=120 THEN 810
620 IF CHEK<>104 THEN 650
630 DIR=-DIR
640 ROW=ROW+4
650 CHAR=225-CHAR
660 SCORE=SCORE+.5
670 GOTO 390
680 IF CHEK<>120 THEN 1070
690 CALL HCHAR(OLDROW,OLDCOL,32)
700 CALL HCHAR(ROW-1,COL,112-2*(DIR<0))
710 CALL SOUND(5,250,10)
720 CALL SOUND(5,200,10)
730 CALL SOUND(5,300,10)
740 CALL HCHAR(ROW-1,COL,128)
750 SCORE=SCORE+25
760 CALL SOUND(-500,500,1,510,10,520,20)
770 CALL SOUND(1,110,30)
780 CALL HCHAR(ROW-1,COL,32)
790 COL=COL+DIR
800 GOTO 530
810 CALL KEY(0,K,ST)
820 IF ST THEN 620
830 CALL HCHAR(OLDROW,OLDCOL,32)
840 CALL HCHAR(ROW,COL,116)
850 FOR I=1000 TO 1020
860 CALL SOUND(-1,I,0)
870 NEXT I
880 CALL HCHAR(ROW,COL,32)
890 CALL HCHAR(ROW+1,COL,121)
900 CALL SOUND(1000,-2,4,110,4)
910 CALL SOUND(1,110,1)
920 CALL CLEAR
930 CALL SCREEN(12)
940 PRINT "HAI FATTO ";INT(SCORE);"P.TI"
950 PRINT "GIOCHI ANCORA? (S/N):";
960 CALL KEY(3,K,ST)
970 IF(K<>ASC("S"))*(K<>ASC("N"))THEN 960
980 PRINT CHR$(K)
990 IF K=ASC("N")THEN 1020
1000 SCORE=0
1010 GOTO 150
1020 END
1030 DIFF=DIFF+1
1040 SCORE=SCORE+50
1050 CALL CLEAR
1060 GOTO 200
1070 FOR I=150 TO 140 STEP-1
1080 CALL SOUND(-1,I,1)
1090 NEXT I
1100 SCORE=SCORE-25
1110 GOTO 620
1120 REM  INIZIO, CREAZIONE QUADRO 
1130 READ A
1140 IF A=-1 THEN 1290
1150 READ A$
1160 CALL CHAR(A,A$)
1170 GOTO 1130
1180 DATA 96,FF422418182442FF
1190 DATA 104,7E427E427E427E42
1200 DATA 112,1028302478B82442
1210 DATA 113,102830A27C782448
1220 DATA 114,102818483C3A4884
1230 DATA 115,1028184A3C3C4824
1240 DATA 116,001C5D2A1C1C1422
1250 DATA 120,81814222242400C3
1260 DATA 121,BDBD5A22242400C3
1270 DATA 128,0077147741770000
1280 DATA -1
1290 FOR I=9 TO 13
1300 READ A
1310 CALL COLOR(I,A,1)
1320 NEXT I
1330 DATA 6,4,14,10,12
1340 CALL SCREEN(16)
1350 RETURN
